package com.hanwei.uap.common.data.check;

import com.hanwei.uap.common.util.ByteUtil;

public class LRC8 {
    public static byte getLrc8(byte[] data, int index, int length) {
        int sum = 0;
        for (int i = 0; i < length && i + index < data.length; i++) {
            sum += 0xff & data[index + i];
        }
        byte lrc8 = (byte) (~sum + 1);
//        byte lrc8 = (byte) (256 - sum % 256);//效果同上
        return lrc8;
    }

    public static void main(String[] args) {
        String hex = "01A07CFF02";
        byte[] bytes = ByteUtil.hex2bytes(hex);
        byte lrc8 = getLrc8(bytes, 0, bytes.length);
        System.out.println(ByteUtil.byte2hex(lrc8));
    }
}
